home *** CD-ROM | disk | FTP | other *** search
- Path: news.th-darmstadt.de!news
- From: Enno Sandner <enno@intellektik.informatik.th-darmstadt.de>
- Newsgroups: comp.lang.c++
- Subject: Re: what happens w/delete called twice ?
- Date: Fri, 23 Feb 1996 09:22:22 +0100
- Organization: Fachbereich Informatik, TH Darmstadt
- Message-ID: <312D793E.41C67EA6@intellektik.informatik.th-darmstadt.de>
- References: <kcc.423.0EE12CF6@interaccess.com>
- NNTP-Posting-Host: kitz.intellektik.informatik.th-darmstadt.de
- Mime-Version: 1.0
- Content-Type: text/plain; charset=us-ascii
- Content-Transfer-Encoding: 7bit
- X-Mailer: Mozilla 2.0 (X11; I; SunOS 4.1.3 sun4m)
-
- kcc wrote:
- >
- > Hello,
- >
- > Can someone tell me... what happens when delete is called twice for the same
- > memory deallocation ie.,
- >
- > SOME_STRUCT *struct_p = new SOME STRUCT;
- >
- > if ( foo_a() )
- > {
- > delete struct_p;
- > retvalue = 0;
- > }
- > else
- > {
- > retvalue = foo_b();
- > }
- >
- > delete struct_p;
- >
- > return( retvalue );
- >
-
- The behavior is undefined, because the 2nd time delete is
- called for a non-object.
- In practice usually the heap gets corrupted and later when
- you wish to create an object via 'new' the program crashes
- or even 'better' 'new' returns a pointer to an already existing
- object.
-
- Enno
-